package com.xhtt.modules.task.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhtt.modules.task.model.alltask.LMWarnModel;
import com.xhtt.modules.task.model.alltask.TaskAllModel;
import com.xhtt.modules.task.model.alltask.TaskPlanAllModel;
import com.xhtt.modules.task.model.alltask.TaskWarnModel;
import com.xhtt.modules.task.model.report.TaskForRankingModel;
import com.xhtt.modules.task.model.report.TaskForSelfModel;
import com.xhtt.modules.task.model.report.TaskForTeamModel;
import com.xhtt.modules.task.model.report.TaskForTeamUserModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface TaskAllMapper extends BaseMapper<TaskAllModel> {
    int allTaskCount(@Param(value = "ps") Map<String, Object> params);

    List<TaskAllModel> allTaskList(@Param(value = "ps") Map<String, Object> params);

    List<TaskPlanAllModel> corePlanList(Page<TaskPlanAllModel> page, @Param(value = "ps") Map<String, Object> params);

    Integer getSubTaskPercent(@Param(value = "plan") String plan, @Param(value = "planType") Integer planType, @Param(value = "subTaskType") Integer subTaskType);

    List<TaskWarnModel> warnTaskList();

    List<LMWarnModel> warnLMTaskList();

    List<TaskForTeamModel> taskForTeam(@Param(value = "ps") Map<String, Object> params);

    List<TaskForTeamUserModel> taskForTeamUser(@Param(value = "ps") Map<String,Object> params);

    List<TaskForSelfModel> taskForSelf(@Param(value = "ps") Map<String,Object> params);

    List<TaskForRankingModel> taskForRanking();

    List<TaskWarnModel> warnStartTaskList();

    List<TaskWarnModel> warnShipTaskList(@Param(value = "ps") Map<String,Object> params);

    int assistTaskCount(@Param(value = "userId") Integer userId);

    List<TaskAllModel> assistTaskList(@Param(value = "userId") Integer userId);
}
